package routers

import (
	"gin_study_blog/common"
	"github.com/gin-gonic/gin"
	swaggerFiles "github.com/swaggo/files"
	ginSwagger "github.com/swaggo/gin-swagger"
)

type RouterGroup struct {
	*gin.RouterGroup
}

func Router() *gin.Engine {
	// 隐藏多余头部信息
	gin.SetMode(common.Config.System.Env)
	r := gin.Default()

	// Swagger 配置
	r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
	settingsGroup := r.Group("api")

	routerGroupApp := RouterGroup{settingsGroup}
	// 系统api
	routerGroupApp.SettingsRouter()
	// 上传图片
	routerGroupApp.UploadsRouter()
	// 添加广告
	routerGroupApp.AdvertsRouter()
	// 菜单管理
	routerGroupApp.MenusRouter()
	// 用户登陆
	routerGroupApp.UserRouter()
	// 文章标签
	routerGroupApp.TagsRouter()
	// 消息管理
	routerGroupApp.MessageRouter()
	// 文章管理
	routerGroupApp.ArticlesRouter()
	// 文章点赞
	routerGroupApp.DiggRouter()
	// 评论管理
	routerGroupApp.CommentRouter()
	// 新闻管理
	routerGroupApp.NewsRouter()
	// 聊天室
	routerGroupApp.ChatRouter()
	// 日志管理
	routerGroupApp.LogRouter()
	// 统计
	routerGroupApp.DataRouter()

	return r
}
